home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Plus Extra 1996 #2
/
Amiga Plus CD - 1996 - No. 2 Extra.iso
/
clarissa1_1-demo
/
macros
/
farbblitz.clssa
< prev
next >
Wrap
Text File
|
1995-01-26
|
3KB
|
90 lines
/***********************************************************************
GADGET: "'Farb Blitz'" "6" AUTO TYP: "?"
$DAT >>FarbBlitz.clssa<< 02.10.1992 - (C) ProDAD Holger Burkarth
20.01.1995 - (C) ProDAD Michael Christoph
************************************************************************/
Options Results
Address clariSSA
FailAt 10
AltFail=RESULT
GetArea
PARSE VAR RESULT . "FROM" von "TO" bis .
von=Strip(von)
Anzahl=bis-von
IF Anzahl>3 THEN DO
DO FOREVER
GetAnimInfo
PARSE VAR RESULT . "FORMAT" x y t "VIEWMODE" ViewMode .
AnzFarben=2**t - 1
COLRequest "Register 0 TITLE '*** Farb - Blitz ***''''Wählen Sie die Blitzfarbe aus.''Hierbei ist nur das Register''von Bedeutung.'"
IF RC~=0 THEN LEAVE
BlitzFarbe=RESULT
MSRequester "TITLE '*** Farb - Blitz ***'",
"''",
"'Bezugsfarbe zur Blitzerzeugung wählen'",
"'bzw. Blitzart wählen.'",
"PTEXT 'Bezugsfarbe frei wählen + Dreieckblitz'",
"'Bezugsfarbe frei wählen + anschwellend'",
"'Bezugsfarbe frei wählen + abfallend'",
"'Bezugsfarbe weiß + Dreieckblitz'",
"'Bezugsfarbe weiß + anschwellend'",
"'Bezugsfarbe weiß + abfallend'"
IF RC~=0 THEN LEAVE
IF RESULT >3 THEN DO
BlitzArt=RESULT-3
BezR=255
BezG=255
BezB=255
END
ELSE DO
BlitzArt=RESULT
COLRequest "Register 0 TITLE '*** Farb - Blitz ***''''Wählen Sie die Bezugafarbe aus.''Hierbei sind nur die Farbwerte ''von Bedeutung.'"
IF RC~=0 THEN LEAVE
BezFarbe=RESULT
GetColor BezFarbe
PARSE VAR RESULT x BezR BezG BezB
END
BOOLRequest "'Animationsfarben ändern?''Anim: Master''<< von "von" bis "bis" >>'"
IF RC~=0 | RESULT="NO" THEN LEAVE
RequestStatus OFF
IF BlitzArt=1 THEN Anzahl=Anzahl/2
DO UNTIL von>bis
fa=(bis-von)/Anzahl
IF BlitzArt=1 THEN IF fa > 1 THEN fa=1-fa
IF BlitzArt=2 THEN fa=1-fa
ViewFrame COPS von
IF RC~=0 THEN LEAVE
GetColor BlitzFarbe
PARSE VAR RESULT x r g b
r=r+(BezR-r)*fa
g=g+(BezG-g)*fa
b=b+(BezB-b)*fa
SetColor BlitzFarbe TRUNC(r) TRUNC(g) TRUNC(b)
Record COPS
IF RC~=0 THEN LEAVE
von=von+1
END
RequestStatus ON
LEAVE
END
END
ELSE Message "'Für einen Blitz-Effekt müssen''min. 4 Frames ausgewählt werden.'"
FailAt AltFail
exit